# Copyright (c) 2018 Presto Labs Pte. Ltd.
# Author: inkyu

from coin.exchange.kraken.rest.subscriber import KrakenSubscriber as KrakenRestSubscriber
from coin.strategy.mm.feed_builder import KrakenRestFlowBookBuilder
from coin.exchange.kraken.ws.subscriber import KrakenSubscriber as KrakenWsSubscriber
from coin.strategy.mm.feed_builder import KrakenWsFlowBookBuilder
from coin.strategy.mm.base.feed import BaseFeedSubsystem
from coin.strategy.mm.subscription import SubscriptionRequest


class KrakenWsFeedSubsystem(BaseFeedSubsystem):
  FeedSubReq = SubscriptionRequest('Spot', 'Kraken', None)
  FeedSubscriber = KrakenWsSubscriber
  FlowBookBuilder = KrakenWsFlowBookBuilder


class KrakenRestFeedSubsystem(BaseFeedSubsystem):
  FeedSubReq = SubscriptionRequest('Spot', 'Kraken', 'rest')
  FeedSubscriber = KrakenRestSubscriber
  FlowBookBuilder = KrakenRestFlowBookBuilder
